package com.gamerent.service;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;
import com.gamerent.entity.GameAccount;

import java.util.List;

/**
 * 游戏账号服务接口
 */
public interface GameAccountService {

    /**
     * 分页查询游戏账号
     */
    IPage<GameAccount> findByPage(Page<GameAccount> page, String gameName, Long categoryId, Integer status);

    /**
     * 根据ID查询游戏账号
     */
    GameAccount findById(Long id);

    /**
     * 创建游戏账号
     */
    GameAccount create(GameAccount gameAccount);

    /**
     * 更新游戏账号
     */
    GameAccount update(GameAccount gameAccount);

    /**
     * 删除游戏账号
     */
    boolean delete(Long id);

    /**
     * 查询热门游戏账号
     */
    List<GameAccount> findHotAccounts(Integer limit);

    /**
     * 搜索游戏账号
     */
    IPage<GameAccount> search(Page<GameAccount> page, String keyword, String gameName, Long categoryId, Double minPrice,
            Double maxPrice);
}